/**
 *
 */
package com.storm.lib.vo;

import java.util.ArrayList;
import java.util.List;

import com.storm.lib.util.DBFieldUtil;
import com.storm.lib.util.StringUtil;



/**
 * 类功能:
 * @author johnny
 * @version 2011-3-3
 */
public class IdStringVo {

	/**
	 * 编号
	 */
	private Integer id;

	/**
	 * 值
	 */
	private String str;



	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}



	public String getStr() {
		return str;
	}

	public void setStr(String str) {
		this.str = str;
	}

	/**
	 * 方法功能:得到List
	 * 更新时间:2011-2-24, 作者:johnny
	 * @param mailItems
	 * @return
	 */
	public static List<IdStringVo> createList(String string) {
		List<IdStringVo> itemNumbers= new ArrayList();
		if(StringUtil.isEmpty(string)){
			return itemNumbers;
		}
		String[] itemstrs =string.split(",");
		for (int i = 0; i < itemstrs.length; i++) {
			String[] vals = itemstrs[i].split("\\|");
			IdStringVo idStringVo = new IdStringVo();
			idStringVo.setId(DBFieldUtil.fetchImpodInt(vals[0]));
			idStringVo.setStr(DBFieldUtil.fetchImpodString(vals[1]));
			itemNumbers.add(idStringVo);
		}
		return itemNumbers;
	}

	/**
	 * 方法功能:得到Str
	 * 更新时间:2011-2-24, 作者:johnny
	 * @param attachList
	 */
	public static String createStr(List<IdStringVo> attachList,String innerSplit,String outterSplit) {
		String str=null;
		if(null==attachList || attachList.size()==0){
			return null;
		}
		String[] items = new String[attachList.size()];
		for (int i = 0; i < attachList.size(); i++) {
			IdStringVo itemNumberVo = attachList.get(i);
			items[i]=itemNumberVo.getId()+innerSplit+itemNumberVo.getStr();
		}
		if(attachList.size()==0){
			return null;
		}
		else{
			return DBFieldUtil.implod(items, outterSplit);
		}
	}

	/**
	 * 方法功能:列表增加道具
	 * 更新时间:2011-3-18, 作者:johnny
	 * @param results
	 * @param itemId
	 * @param randomInt
	 */
	public static void addItemToList(List<IdStringVo> results, int id,String num) {
		for (int i = 0; i < results.size(); i++) {
			IdStringVo idNumberVo = results.get(i);
			if(idNumberVo.getId().intValue()==id){
				idNumberVo.setStr(idNumberVo.getStr()+num);
				return;
			}
		}
		IdStringVo idNumberVo =new IdStringVo();
		idNumberVo.setId(id);
		idNumberVo.setStr(num);
		results.add(idNumberVo);
	}

	public IdStringVo(Integer id, String num) {
		super();
		this.id = id;
		this.str = num;
	}

	public IdStringVo() {
		super();
	}



	public static IdStringVo create(String string) {
		if(StringUtil.isEmpty(string)){
			return null;
		}
		String[] vals = string.split("\\|");
		if(vals.length<=0){
			return null;
		}
		else{
			IdStringVo idNumberVo = new IdStringVo(Integer.valueOf(vals[0]),vals[1]);
			return idNumberVo;
		}
	}
	
	public static List<IdStringVo> createComplexList(String str){
		List<IdStringVo> theIdnumberList = new ArrayList<IdStringVo>();
		String[] monsterKills = str.split("@");
		for (String monsterKill : monsterKills) {
			String[] monSkillVals = monsterKill.split("\\|");
			Integer monsterId = Integer.valueOf(monSkillVals[0]);
			String num = monSkillVals[1];
			theIdnumberList.add(new IdStringVo(monsterId, num));
		}
		return theIdnumberList;
	}
}
